Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Contiki
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbgContiki è un mwbwsistema operativo mwcamultitasking leggero, mwcqopen source e altamente portatile. È stato sviluppato per essere utilizzato su un vasto numero di sistemi che vanno dai mwcgcomputer a mwcw8-bit fino ai mwdasistemi embedded su mwdqmicrocontroller. Il nome mwdgContiki deriva dalla zattera mwdwKon-Tiki con la quale mweaThor Heyerdahl fece una spedizione per dimostrare che i polinesiani erano in grado di ritornare dal Sud America al loro arcipelago.

Benché sia in grado di gestire il multitasking, Contiki ha bisogno solo di pochi mwegkilobyte di codice e di poche centinaia di mwewbyte di mwfaRAM. Il sistema completo, comprensivo di mwfqGUI, utilizza circa 30 kilobyte di RAM.

Il mwfwkernel di base e la maggior parte delle funzioni del nucleo sono state sviluppate da Adam Dunkels al "Networked Embedded Systems group" dell'Istituto svedese di Informatica.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Progetto

Contiki è scritto in mwhqlinguaggio C, ed è particolarmente adatto per sistemi embedded con poche risorse hardware. Una configurazione tipica di Contiki è di 2 kilobyte di RAM e 40 kilobytes di mwhgROM. È stato progettato appositamente per la mwhwInternet of Things per estendere la Internet globale agli oggetti.

Contiki è costituito da un kernel ad eventi, sul quale le applicazioni vengono caricate e scaricate dinamicamente a mwiqruntime. Lo scheduling è di tipo non-preemptive, dunque la CPU viene liberata dal processo solo quando termina o si blocca in attesa di un evento. I processi di Contiki sono protothread che consentono uno stile di programmazione a mwiwthread alquanto lineare.

Per il mwjqnetworking è stata implementata la pila protocollare uIP che è uno stack mwjwTCP/IP appositamente progettato per sistemi ad 8 e 16 bit. Dall'ottobre 2008, uIP è compatibile con il protocollo mwkaIPv6. È implementato anche il protocollo mwkq6LoWPAN (IPv6 over Low-Power Wireless Personal Area Networks) che permette di utilizzare il protocollo IPv6 in reti mwkgWPAN, grazie alla compressione dell'header IPv6. Inoltre è implementato RPL, un protocollo di routing per reti a bassa potenza.

Programmazione

Per sviluppare un'applicazione Contiki, prima di tutto bisogna definire un processo. La struttura base di una applicazione è la seguente:

#include "contiki.h" //deve essere sempre incluso
PROCESS(Example, "Example process"); // Definizione del processo
AUTOSTART_PROCESSES(&Example); // Avvio al boot
PROCESS_THREAD(Example, ev, data)
{
PROCESS_BEGIN(); // Definisce l'inizio del processo
while(1){
PROCESS_WAIT_EVENT ();
// applicazione
}
PROCESS_END();
}

Il Makefile ha la seguente struttura:

CONTIKI = ../.. // dipende dalla posizione del progetto
all: app-name
include $(CONTIKI)/Makefile.include

Piattaforme

Contiki è in grado di girare su una vasta varietà di piattaforme, dai microcontroller come il TI MSP430 e il mwhqAtmel AVR fino ai vecchi mwhghome computer.
Il sistema è stato portato (o è in fase di porting) per i seguenti sistemi:

• Computer:

• mwjaApple II
• mwjgAtari 8-bit
• mwkaAtari ST
• Casio Pocketview
• mwlgCommodore PET
• mwmgCommodore 64
• mwnaCommodore 128
• mwngOric Atmos
• PC-6001
• Sharp Wizard
• Sistemi mwpax86 mwpqUnix-like

• Console per videogiochi:

• mwqqPC Engine
• mwrqAtari Jaguar
• mwswGP32

• Microcontroller:

• mwtwAtmel AVR
• TI MSP430, TI CC2538(RE-mote, Firefly, Zoul)
• STMicroelectronics STM32W
• Microchip PIC32 (PIC32MX795F512L)

Altri progetti

Altri progetti

• Wikimedia Commons

• Wikimedia Commons contiene immagini o altri file su Contiki

Collegamenti esterni

• mwwg(EN) Contiki: sito ufficiale, su sics.se. URL consultato il 25 agosto 2010 (archiviato dall'url originale il 25 agosto 2010).
• mwxaAnalisi ed utilizzo di Contiki per il monitoraggio di parametri ambientali (PDF), su monacchi.altervista.org.